package com.cn.hjsj.util.time;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import com.cn.hjsj.util.log.LogUtil;

public class TimeUtil {
	public static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	public static String getNowStr()
	{
		try {
			return df.format(new Date());
		} catch (Exception e) {
			return "1900-01-01 00:00:00";
		}
		
	}
	
	public static String changeDatestr(String date){
		String newdate = date;
		try{
			Date date1 = df.parse(date);
		    newdate=df.format(date1);
		}catch(Exception e){
			LogUtil.error("日期转化错误:" + e.getMessage());
		}
		 
		 return newdate;
	}
	
    /**  
     * 计算两个日期之间相差的天数  
     * @param smdate 较小的时间 
     * @param bdate  较大的时间 
     * @return 相差天数 
     * @throws ParseException  
     */    
    public static int daysBetween(Date smdate,Date bdate) throws ParseException     
    {    
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
        smdate=sdf.parse(sdf.format(smdate));  
        bdate=sdf.parse(sdf.format(bdate));  
        Calendar cal = Calendar.getInstance();    
        cal.setTime(smdate);    
        long time1 = cal.getTimeInMillis();                 
        cal.setTime(bdate);    
        long time2 = cal.getTimeInMillis();         
        long between_days=(time2-time1)/(1000*3600*24);  
            
       return Integer.parseInt(String.valueOf(between_days));           
    }    
      
    /** 
     *字符串的日期格式的计算 
     * @throws ParseException 
     */  
    public static int daysBetween(String smdate,String bdate) throws ParseException {  
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
        Calendar cal = Calendar.getInstance();    
        cal.setTime(sdf.parse(smdate));    
        long time1 = cal.getTimeInMillis();                 
        cal.setTime(sdf.parse(bdate));    
        long time2 = cal.getTimeInMillis();         
        long between_days=(time2-time1)/(1000*3600*24);  
            
       return Integer.parseInt(String.valueOf(between_days));     
    }  
    public static void main(String[] args) throws ParseException {
		String t1="2017-03-02 10:06:16";
		String t2="2017-03-10 10:06:16";
		int days = daysBetween(t1, t2);
		System.out.println(days);
	}
}
